import math

# 示例：8个采样点（替换为视频中实际的采样值）
x = [1.0, 0.5, 0.0, -0.5, -1.0, -0.5, 0.0, 0.5]
N = len(x)  # 采样点数量 N=8
X = [0.0 + 0.0j for _ in range(N)]  # 存储频域结果（复数）

for k in range(N):
    for n in range(N):
        # 计算复指数 e^(-j*2π*k*n/N)
        angle = -2 * math.pi * k * n / N
        cos_val = math.cos(angle)
        sin_val = math.sin(angle)
        complex_exp = complex(cos_val, sin_val)  # 转换为复数

        # 累加：x[n] * e^(-j*2π*k*n/N)
        X[k] += x[n] * complex_exp

# 打印每个频率分量的实部和虚部
for k in range(N):
    print(f"X[{k}] = {X[k].real:.4f} + {X[k].imag:.4f}j")